package com.css.fxfzaqbz.modules.callJcData.service;

import com.css.fxfzaqbz.base.response.RestResponse;
import com.css.fxfzaqbz.modules.callJcData.entity.TableFieldDesc;
import com.css.fxfzaqbz.modules.callJcData.exception.ShpFieldException;
import com.css.fxfzaqbz.modules.callJcData.param.DataVersionPageParam;
import com.css.fxfzaqbz.modules.callJcData.param.SysDataVersionPageParam;
import com.css.fxfzaqbz.modules.callJcData.result.ParsingResult;
import com.css.fxfzaqbz.modules.callJcData.vo.IdsVO;
import com.css.fxfzaqbz.modules.callJcData.vo.SitePhotoVO;
import com.css.fxfzaqbz.modules.data.entity.Site;
import com.css.fxfzaqbz.modules.data.queryParams.SiteQueryParams;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.util.List;
import java.util.Map;

public interface SiteService {
    Site updateSite(Site site,String userID);
    Site saveSite(Site site, HttpServletRequest request);
    Map<String,Object> getAllSite(SiteQueryParams queryParams);
    Site getSiteById(String id);
    boolean getSiteByName(String name);
    void deleteSites(List<String> ids,String userId);
    //下载表中内容
    List<Site>getAll();
    //导入内容
    void importExcel(MultipartFile file) throws IOException;

    List<Site> getSiteDataView(SysDataVersionPageParam sysDataVersionPageParam);

    RestResponse saveShpTemporaryData(ParsingResult shpData) throws ShpFieldException;

    void deleteByVersion(String versionCode);

    void updateByLsVersion(String tempVersionCode, String versionCode,Integer sf);

    List<Site> getYwData(String versionCode);

    void uploadSitePhotos(SitePhotoVO sitePhotoVO);

    List<TableFieldDesc> getByDictItemId(String dictItemId);

    void submitYwData(IdsVO ids);

    void updateLs(String versionCode, String tempVersionCode);

    RestResponse getFyYwData(DataVersionPageParam dataVersionPageParam);

    List<Site> getSiteNumByVersion(String versionCode);

    // Site updateFile(AttachmentInfoEntity attachmentInfoEntity, SiteFile siteFile);
}
